[−][src]Crate actix
Actix is an actor framework.
Actors are
objects which encapsulate state and behavior, they communicate
exclusively by exchanging messages. Actix actors are implemented
on top of Tokio. Multiple actors can run in
same thread. Actors can run in multiple threads using the
Arbiter
API. Actors exchange typed
messages.
Other Documentation
Features
- Async/Sync actors
- Actor communication in a local/thread context
- Using Futures for asynchronous message handling
- Actor supervision
- Typed messages (No
Any
type). Generic messages are allowed - Runs on stable Rust 1.40+
Package feature
resolver
- enables DNS resolver actor; see resolver module
Tokio runtime
At the moment actix uses
current_thread
runtime.
While it provides minimum overhead, it has its own limits:
- You cannot use Tokio's async file I/O, as it relies on blocking calls that are not available
in
current_thread
Stdin
,Stderr
andStdout
fromtokio::io
are the same as file I/O in that regard and cannot be used in asynchronous manner in actix.
Re-exports
pub use crate::fut::ActorFuture; |
pub use crate::fut::ActorStream; |
pub use crate::fut::WrapFuture; |
pub use crate::fut::WrapStream; |
pub use crate::registry::ArbiterService; |
pub use crate::registry::Registry; |
pub use crate::registry::SystemRegistry; |
pub use crate::registry::SystemService; |
pub use crate::sync::SyncArbiter; |
pub use crate::sync::SyncContext; |
Modules
actors | Helper actors |
clock | A configurable source of time. |
dev | The |
fut | Custom |
io | |
prelude | The |
registry | Actors registry |
sync | Sync Actors support |
utils |
Structs
ActorResponse | A helper type for representing different types of message responses. |
Addr | The address of an actor. |
Arbiter | Arbiters provide an asynchronous execution environment for actors, functions and futures. When an Arbiter is created, it spawns a new OS thread, and hosts an event loop. Some Arbiter functions execute on the current thread. |
AtomicResponse | A specialized actor future holder for atomic asynchronous message handling. |
Context | An actor execution context. |
MessageResult | A helper type that implements the |
Recipient | The |
Response | Helper type for representing different type of message responses |
SpawnHandle | A handle to a spawned future. |
Supervisor | Actor supervisor |
System | System is a runtime manager. |
SystemRunner | Helper object that runs System's event loop |
WeakAddr | A weakly referenced counterpart to |
Enums
ActorState | Actor execution state |
MailboxError | The errors that can occur during the message delivery process. |
Running |
Traits
Actor | Actors are objects which encapsulate state and behavior. |
ActorContext | Actor execution context. |
AsyncContext | Asynchronous execution context. |
Handler | Describes how to handle messages of a specific type. |
Message | Represent message that can be handled by an actor. |
StreamHandler | Stream handler |
Supervised | Actors with the ability to restart after failure. |
Functions
run | Starts the system and executes the supplied future. |
spawn | Spawns a future on the current arbiter. |
Type Definitions
ResponseActFuture | A specialized actor future for asynchronous message handling. |
ResponseFuture | A specialized future for asynchronous message handling. |